Industrial controllers are specialized computer systems used for the control of industrial processes or machinery, for example, in a factory environment. Generally, an industrial controller executes a stored control program that reads inputs from a variety of sensors associated with the controlled process or machine and, sensing the conditions of the process or machine, and based on those inputs and a stored control program, calculates a set of outputs used to control actuators controlling the process or machine.
Industrial controllers differ from conventional computers in a number of ways. Physically, they are constructed to be substantially more robust against shock and damage and to better resist external contaminants and extreme environmental conditions than conventional computers. The processors and operating systems are optimized for real-time control and are programmed with languages designed to permit rapid development of control programs tailored to a constantly varying set of machine control or process control applications.
Generally industrial controllers have a highly modular architecture, for example, that allows different numbers and types of input and output modules to be used to connect the controller to the process or machinery to be controlled. This modularity is facilitated through the use of special “control networks” suitable for highly reliable and available real-time communication. Such control networks (for example, EtherNet/IP, DeviceNet and ControlNet) differ from standard communication networks by guaranteeing maximum communication delays by pre-scheduling the communication capacity of the network, and/or providing seamless redundant communication capabilities for high-availability.
As part of their enhanced modularity, industrial controllers may employ I/O modules or devices dedicated to a particular type of electrical signal and function, for example, detecting input AC or DC signals or controlling output AC or DC signals. Each of these I/O modules or devices may have a connector system allowing them to be installed in different combinations in a housing or rack along with other selected I/O modules or devices to match the demands of the particular application. Multiple or individual I/O modules or devices may be located at convenient control points near the controlled process or machine to communicate with a central industrial controller via the control network.
Control networks may employ “connected messaging” in which the bandwidth of the network and buffer space is pre-allocated to dedicated “connections” to detect lost or unpredictably delayed data control message transfers or to guarantee client/server transaction integrity as in common Ethernet usage. An example of connected messaging is embodied within Common Industrial Protocol (CIP), which is a media independent industrial protocol for industrial automation applications supported by the Open DeviceNet Vendors Association (ODVA). CIP is described in “The Common Industrial Protocol (CIP) and the Family of CIP Networks,” Copyright 2006, Open DeviceNet Vendor Association, Inc., which document is incorporated herein by reference in its entirety.
CIP encompasses a comprehensive suite of messages and services for the collection of manufacturing automation applications, including control, safety, synchronization, motion, configuration and other information. Application extensions to CIP include: CIP Safety, providing a communication between nodes such as safety I/O blocks, safety interlock switches, safety light curtains and safety PLC's in safety applications up to Safety Integrity Level (Sit) 3 according to IEC 61508 standards; CIP Motion, allowing integration of field devices and motion drives on the same network thereby eliminating the need for a separate motion optimized network; and CIP Sync, a time synchronization extension to CIP based on the recent IEEE-1588 standard—Precision Clock Synchronization Protocol for Networked Measurement and Control Systems—providing increased control coordination for sequencing demanding events recording, distributed motion control and other distributed applications. CIP maximizes compatibility among devices in an industrial system, and typical control networks implementing CIP include EtherNet/IP, DeviceNet, ControlNet and similar networks whose specifications are published and whose protocols are used broadly by a number of manufacturers and suppliers.
Devices in industrial control systems, including those which interact with industrial processes or machines (such as sensors, actuators, and process instruments), may sense, such as in an industrial process or machine, or in a communication or in the devices themselves, a variety a variety of enumerated conditions such as errors or deviations. It is therefore important to understand when such enumerated conditions occur in order to maintain the health of the system.
However, monitoring errors and deviations noted by the devices can be problematic. For example, continuously polling such devices, such as by an industrial controller periodically initiating CIP transactions with the devices, requires allocation from the limited pool of CIP connections for each device, and may require additional communication bandwidth (such as “keep-alive traffic” between an industrial controller and devices) to maintain CIP connections with each device. Also, continuously polling such devices results in unnecessary transactions, and in the event of an error, adds latency in reporting the error. Moreover, with particular devices that may have limited power, or may be limited by computational capability, memory, communication rate, or otherwise, continuous polling of the device may be particularly difficult to accomplish, if accomplishable at all.
It is therefore desirable to provide an industrial control system capable of monitoring devices with respect to errors and deviations that eliminates one or more of the foregoing disadvantages.